3. 파생 변수를 질의 함수로 바꾸기

가변 데이터의 유효범위를 확실하게 정하여 사이드이펙트를 방지한다. 가변 데이터의 값을 계산해주는 함수를 만드는 방법을 적용해보자.

절차


  1. 변수 값이 갱신되는 지점을 찾는다. 필요하면 변수를 쪼갠다.
  2. 해당 변수 값을 계산해주는 함수를 정한다.
  3. 해당 변수가 사용되는 곳에 assertion을 추가하여 계산결과와 변수의 값이 같은지 확인해본다.
  4. 테스트
  5. 변수를 읽는 코드를 모두 함수호출로 대체한다.
  6. 테스트
  7. 변수를 선언하고 갱신한 코드를 제거한다.

예시 코드

😞 Before

get discountTotal(){
    return this._discountedTotal
}
set discount(aNumber){
    const old = this._discount
    this._discount = aNumber
    this._discountedTotal += old - aNumber
}

😃 After

get discountedTotal(){
    return this._baseTotal - this._discount
}
set discount(aNumber){
    this._discount = aNumber
}

results matching ""

    No results matching ""